#pragma once

#include "public/build.h"
#include "external/tinyxml/tinyxml2.h"

#include <vector>
#include <string>

namespace renderit
{
	namespace messiah
	{
		struct path_info
		{
			std::string name;
			std::string path;

			bool operator < (const path_info& r) const
			{
				if (name == r.name)
				{
					return path < r.path;
				}
				return name < r.name;
			}
		};

		struct guid_info
		{
			std::string path;
			std::string guid;
			tinyxml2::XMLElement * xml_elem_;

			bool operator < (const guid_info& r) const
			{
				return path < r.path;
			}
		};

		void find_guid_in_path(tinyxml2::XMLElement * root_elem, const std::string& path, std::vector<guid_info>& result);
	}
}